package calculadorfpa.modelo;

/**
 * @author TECBMBKD
 * @version 1.0
 * @created 19-jun-2011 14:18:06
 */
public class DescricaoComplexidadeHelper {

    public DescricaoComplexidadeHelper() {
    }

    public void finalize() throws Throwable {
    }

    /**
     * Obt�m a descri��o da complexidade, de acordo com a complexidade e com o tipo de
     * fun��o em quest�o. Esta regra est� dispon�vel em <a href="$element://{9D169E7D-
     * D963-4fdc-A95C-0CB37AF68324}"><font color="#0000ff"><u>RN009</u></font></a>
     *
     * @param complexidade
     * @param tipoFuncao
     */
    public static String obterDescricaoComplexidade(int complexidade, Class tipoFuncao) {

        if (tipoFuncao != null) {
            if (tipoFuncao == ArquivoLogicoInterno.class) {
                switch (complexidade) {
                    case 7:
                        return "Baixa";
                    case 10:
                        return "Média";
                    case 15:
                        return "Alta";
                    default:
                        return "";
                }
            } else if (tipoFuncao == ArquivoInterfaceExterna.class) {
                switch (complexidade) {
                    case 5:
                        return "Baixa";
                    case 7:
                        return "Média";
                    case 10:
                        return "Alta";
                    default:
                        return "";
                }
            } else if (tipoFuncao == SaidaExterna.class) {
                switch (complexidade) {
                    case 4:
                        return "Baixa";
                    case 5:
                        return "Média";
                    case 7:
                        return "Alta";
                    default:
                        return "";
                }
            } else if (tipoFuncao == EntradaExterna.class || tipoFuncao == ConsultaExterna.class) {
                switch (complexidade) {
                    case 3:
                        return "Baixa";
                    case 4:
                        return "Média";
                    case 6:
                        return "Alta";
                    default:
                        return "";
                }
            }
        }
        return "";
    }
}
